博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jenkins邮件配置
阅读量:7008 次
发布时间:2019-06-28

本文共 4795 字,大约阅读时间需要 15 分钟。

主要对Windows环境 jenkins 的邮件通知进行介绍

jenkins内置的邮件功能

邮件通知功能主要包括两个部分:全局配置和项目配置

jenkins内置的邮件配置

系统管理--系统设置--Jenkins Location中配置系统管理员的邮件地址,如图

TafkkUh.png

切记:一定要设置,且在系统管理员那个地方设置的email地址要和email配置的相同

系统管理-系统设置-邮件通知,设置全局设置,如图所示

hILOK8T.png

可以勾选 “通过发送测试邮件配置” 测试此配置能否连通, 如果收到以下邮件,恭喜 This is test email #1 sent from Jenkins。

对构建的job 添加邮件发送的步骤,针对具体job名称-配置,如下图:

3FDWgP5.png

这样每次build后都会发送邮件给这个接收者, 到这里你会发现,只能发给 固定的对象,且格式单一(txt),接收到的邮件样式如图:

hVSS04D.png

上面是使用默认邮件配置,使用126邮件配置,配置比较顺畅。建议直接使用126邮件进行配置系统管理员账号,如果使用qq邮件进行配置,需要开启POP3/SMTP服务,生成授权码,如图

RYO6weK.png

jenkins email-ext插件配置

jenkins本身提供了默认的邮件通知,可以在构建失败或不稳定等状态后发送邮件通知,但是它本身有很多局限性,邮件只能看到构建失败的大概结果,无法提供更加详细的构建细节,无法定义发送邮件的格式,无法灵活定义邮件接收人的配置等。在这样的情况下,jenkins提供了丰富的插件,Jenkins Email Extension Plugin正好可以弥补默认邮件下无法完成的工作。

  • Jenkins Email Extension Plugin插件安装

在系统管理-插件管理页面中搜索 Email Extension Plugin进行安装即可,如图

4p0eRvG.png

  • Jenkins Email Extension Plugin插件配置

系统管理-系统设置

ft2pqkr.png

详细参数说明如下:https://www.cnblogs.com/yangxia-test/p/4366172.html

1. Default Content Type:指定构建后发送邮件内容的类型,有Text和HTML两种.2. Use List-ID Email Header:为所有的邮件设置一个List-ID的邮件信头,这样你就可以在邮件客户端使用过滤。它也能阻止邮件发件人大部分的自动回复(诸如离开办公室、休假等等)。你可以使用你习惯的任何名称或者ID号,但是他们必须符合如下其中一种格式(真实的ID必须要包含在
<和>
标记里):
Build Notifications
“Build Notifications”
3. Add 'Precedence: bulk' Email Header:设置优先级,4. Default Recipients:自定义默认电子邮件收件人列表。如果没有被项目配置覆盖,该插件会使用这个列表。您可以在项目配置使用$ DEFAULT_RECIPIENTS参数包括此默认列表,以及添加新的地址在项目级别。添加抄送:cc:电子邮件地址例如,CC:someone@somewhere.com5. Reply To List:回复列表, A comma separated list of e-mail addresses to use in the Reply-To header of the email. This value will be available as $DEFAULT_REPLYTO in the project configuration.6. Emergency reroute:如果这个字段不为空,所有的电子邮件将被单独发送到该地址(或地址列表)。7. Excluded Committers:防止邮件被邮件系统认为是垃圾邮件,邮件列表应该没有扩展的账户名(如:@domain.com),并且使用逗号分隔8. Default Subject:自定义邮件通知的默认主题名称。该选项能在邮件的主题字段中替换一些参数,这样你就可以在构建中包含指定的输出信息。9. Maximum Attachment Size:邮件最大附件大小。10. Default Content:自定义邮件通知的默认内容主体。该选项能在邮件的内容中替换一些参数,这样你就可以在构建中包含指定的输出信息。11. Default Pre-send Script:默认发送前执行的脚本(注:grooy脚本,这是我在某篇文章上看到的,不一定准确)。12. Enable Debug Mode:启用插件的调试模式。这将增加额外的日志输出,构建日志以及Jenkins的日志。在调试时是有用的,但不能用于生产。13. Enable Security:启用时,会禁用发送脚本的能力,直接进入Jenkins实例。如果用户试图访问Jenkins管理对象实例,将抛出一个安全异常。14. Content Token Reference:邮件中可以使用的变量,所有的变量都是可选的。

job中的配置使用

在构建后操作——”Add Post-build Actions”选项中勾选”Editable Email Notification”标签。如下图:

fh8WY4W.png

项目基本配置参数说明

当插件激活后你就能编辑如下字段(只列出常用的字段):Project Recipient List:这是一个以逗号(或者空格)分隔的收件人邮件的邮箱地址列表。允许您为每封邮件指定单独的列表。Ps:如果你想在默认收件人的基础上添加收件人:$DEFAULT_RECIPIENTS,
<新的收件人>
Default Subject:允许你配置此项目邮件的主题。Default Content:跟Default Subject的作用一样,但是是替换邮件内容。Attach Build Log:附件构建日志。Compress Build Log before sending:发送前压缩生成日志(zip格式)。

点击高级,设置触发器:(注意:所有的触发器都只能配置一次)

IMj0A1L.png

触发器参数说明

Failure:即时发送构建失败的邮件。如果”Still Failing”触发器已配置,而上一次构建的状态是”Failure”,那么”Still Failing”触发器将发送一封邮件来替代(它)。Unstable:即时发送构建不稳固的邮件。如果”Still Unstable”触发器已配置,而上一次构建的状态是”Unstable”,那么”Still Unstable”触发器将发送一封邮件来替代(它)。Still Failing:如果两次或两次以上连续构建的状态为”Failure”,发送该邮件。Success:如果构建的状态为”Successful”发送邮件。如果”Fixed”已配置,而上次构建的状态为“Failure”或“Unstable”,那么”Fixed”触发器将发送一封邮件来替代(它)。Fixed:当构建状态从“Failure”或“Unstable”变为”Successful”时发送邮件。Still Unstable:如果两次或两次以上连续构建的状态为” Unstable “,发送该邮件。Before Build:当构建开始时发送邮件。

保存之后,接下来就是进行测试,查看是否配置正确,如图

hjEN7Vd.png

附上一个比较好的邮件通知

${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志

SVN_URL
(本邮件由程序自动下发,请勿回复!)

构建结果 - ${BUILD_STATUS}

构建信息

  • 项目名称:${PROJECT_NAME}
  • SVN路径:${SVN_URL}
  • 构建编号:${BUILD_NUMBER}
  • SVN版本:${SVN_REVISION}
  • 触发原因:${CAUSE}
  • 构建日志:${BUILD_URL}console
变更信息:

  • 上次构建成功后变化 : ${CHANGES_SINCE_LAST_SUCCESS}
  • 上次构建不稳定后变化 : ${CHANGES_SINCE_LAST_UNSTABLE}
  • 变更集:${JELLY_SCRIPT,template="html"}

出现的问题

  • 提示发送邮件失败,如图

FhSAnth.png

复查系统管理-系统设置--Extended E-mail Notification中的配置的邮箱地址,如图

iVniNmv.png

  • 邮件全局配置,测试失败,如图所示
    Dp4d5rW.png

这是qq邮箱配置的时候需要开启POP3/SMTP服务,生成授权码,所以后来修改为126邮箱使用。

  • 构建失败,提示如图
    umabcpV.png

在github中一种说法是内存不足,暂时没找到解决办法,这个问题是间歇性出现的,如果哪位有好的方法,请指导一下......

转载于:https://www.cnblogs.com/LOVEYU/p/8080576.html

你可能感兴趣的文章
用 Django 管理现有数据库
查看>>
【转】Hive 工作原理详解
查看>>
搭建JEESZ分布式架构--消息中间件简介
查看>>
面试中程序员常见的Redis"刁难"问题,值得一读!
查看>>
ES6常用总结
查看>>
为什么修复每个 bug 后都要问这 3 个问题?
查看>>
android:padding和android:margin的区别
查看>>
面试官问我,使用Dubbo有没有遇到一些坑?我笑了。
查看>>
人工智能起步-反向回馈神经网路算法(BP算法)
查看>>
邮件任务
查看>>
python项目实战:实现游戏敏感词汇过滤器
查看>>
创建maven【聚合工程】
查看>>
IT兄弟连 JavaWeb教程 使用AJAX发送GET请求并获取响应
查看>>
Oschina 周六乱弹——是一个傻子还是一群傻子?
查看>>
向自由职业者强烈推荐的12本免费电子书
查看>>
tornado延时函数
查看>>
android文件系统system-ramdisk-userdata三者之间的关系
查看>>
Collection has neither generic type or OneToMany.targetEntity()
查看>>
使用webmagic抓取页面并保存为wordpress文件
查看>>
前嗅ForeSpider教程:验证码设置
查看>>